/* Soubor je ulozen v kodovani UTF-8.
 * Kontrola kódování: Příliš žluťoučký kůň úpěl ďábelské ódy.
 */
package cz.pecinovsky.česky.oopnz.tvary;



////////////////////////////////////////////////////////////////////////////////
//%%+  +++++ Konec ignorovaného počátečního textu - prostor pro importy +++++

//%X+ xxxxx Začátek přeskakovaného textu s deklarací obalové třídy xxxxx
/*******************************************************************************
 *<pre>
 * Předchozí:   Není - toto_je_nově_definovaná_třída
 * Následující: Prozatím není
 *
 * Projekt  112z - Úvod do návrhových vzorů
 *   + Zavedeno toto rozhraní
 *
 * Projekt  113z - Dědičnost rozhraní
 *   ~ Rozhraní definováno jako potomek rozhraní {@code IHýbací}
 *</pre>
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */
////////////////////////////////////////////////////////////////////////////////
//%X- ----- Konec přeskakovaného textu s deklarací obalové třídy -----


/*******************************************************************************
 * Instance rozhraní {@code ITvar} představují obecné geometrické tvary
 * určené pro práci na virtuálním plátně při seznamování s třídami a objekty.
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */
//%I+ <113
//public interface ITvar
//%I-
//%A+ >113
public interface ITvar extends IHýbací
//%A-
{
//== VEŘEJNÉ KONSTANTY =========================================================
//== DEKLAROVANÉ METODY ========================================================
//%X+ >113

    /***************************************************************************
     * Vrátí x-ovou (vodorovnou) souřadnici pozice instance.
     *
     * @return  Aktuální vodorovná (x-ová) souřadnice instance,
     *          x=0 má levý okraj plátna, souřadnice roste doprava
     */
//     @Override
//%A+ <0    "Abych odstranil varování editoru
    @Override
//%A-
    public int getX();


    /***************************************************************************
     * Vrátí y-ovou (svislou) souřadnici pozice instance.
     *
     * @return  Aktuální svislá (y-ová) souřadnice instance,
     *          y=0 má horní okraj plátna, souřadnice roste dolů
     */
//     @Override
//%A+ <0    "Abych odstranil varování editoru
    @Override
//%A-
    public int getY();


    /***************************************************************************
     * Nastaví novou pozici instance.
     *
     * @param x  Nově nastavovaná vodorovná (x-ová) souřadnice instance,
     *           x=0 má levý okraj plátna, souřadnice roste doprava
     * @param y  Nově nastavovaná svislá (y-ová) souřadnice instance,
     *           y=0 má horní okraj plátna, souřadnice roste dolů
     */
//     @Override
//%A+ <0    "Abych odstranil varování editoru
    @Override
//%A-
    public void setPozice(int x, int y);


    /***************************************************************************
     * Vrátí šířku instance.
     *
     * @return  Šířka instance v bodech
     */
//     @Override
//%A+ <0    "Abych odstranil varování editoru
    @Override
//%A-
     public int getŠířka();


    /***************************************************************************
     * Vrátí výšku instance.
     *
     * @return  Výška instance v bodech
     */
//     @Override
//%A+ <0    "Abych odstranil varování editoru
    @Override
//%A-
     public int getVýška();


    /***************************************************************************
     * Nastaví nové rozměry instance.
     *
     * @param šířka    Nově nastavovaná šířka; šířka>0
     * @param výška    Nově nastavovaná výška; výška>0
     */
//     @Override
//%A+ <0    "Abych odstranil varování editoru
    @Override
//%A-
    public void setRozměr(int šířka, int výška);

//%X-

    /***************************************************************************
     * Vykreslí obraz své instance na plátno.
     */
//     @Override
    public void nakresli();


    /***************************************************************************
     * Smaže obraz své instance z plátna,
     * t.j. nakreslí ji barvou pozadí plátna.
     */
//     @Override
    public void smaž();


    /***************************************************************************
     * Vrátí kopii daného tvaru, tj. stejný tvar, stejně velký, stejně umístěný
     * a se stejnou barvou.
     *
     * @return Požadovaná kopie
     */
//     @Override
    public ITvar kopie();



//== ZDĚDĚNÉ METODY ============================================================
//== INTERNÍ DATOVÉ TYPY =======================================================
}
